Категории
Самые читаемые
RUSBOOK.SU » Научные и научно-популярные книги » Радиотехника » Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц

Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц

Читать онлайн Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 16 17 18 19 20 21 22 23 24 ... 111
Перейти на страницу:

Таблица 11.6. Регистры микросхем Zilog 8530

Регистр · Функция

_____________________

Регистры чтения

RR0 · Состояние буферов приема-передачи и внешнее состояние

RR1 · Состояние условия специального приема

RR2 · Немодифицированный вектор прерывания (канал А); модифицированный вектор (канал В)

RR3 · Биты незавершенных прерываний

RR8 · Буфер приема

RR10 · Общее состояние

RR12 · Счетчик скорости пересылки (младший байт)

RR13 · Счетчик скорости пересылки (старший байт)

RR15 · Информация о прерывании, внешнее/состояние

Регистры записи

WR0 · Инициализация, указатели

WR1 · Прерывания и пересылка, определение режима

WR2 · Вектор прерывания

WR3 · Прием, параметры и управление

WR4 · Общие параметры и режимы

WR5 · Передача, параметры и управление

WR6 · Символы синхронизации или адресное поле SDLC

WR7 · Символ синхронизации или флаг SDLC

WR8 · Буфер передачи

WR9 · Управление и сброс прерывания ведущего

WR10 · Биты общего управления передачи/приема

WR11 · Управление режимом генератора

WR12 · Счетчик скорости пересылки (младший байт)

WR13 · Счетчик скорости пересылки (старший байт)

WR14 · Биты общего управления

WR15 · Управление прерыванием, внешнее/состояние

Для буферов передачи и приема (WR8 и RR8) двухэтапная процедура не приемлема, так как эти регистры используются при пересылке каждого байта; для них достаточно простых операций чтения или записи при D/C' в высоком состоянии. Точно так же, байт состояния буфера требует непосредственного доступа, поскольку чтение его флага обычно осуществляется при каждой пересылке байта данных; в микросхеме 8530 предусмотрено чтение RR0 с помощью простой операции чтения команды/состояния (D/C' в низком состоянии). Ниже мы рассмотрим все это подробнее на основе простых программ на языке ассемблера.

Каждый бит каждого регистра что-то означает. Например, на рис. 11.26 можно найти регистры WR3 и WR4, с помощью которых устанавливаются различные коммуникационные характеристики.

Рис. 11.26. Два регистра, используемые для инициализации микросхемы Zilog 8530.

В регистре WR3 к асинхронным операциям относятся только биты D0 разрешения приемника, D5 разрешения аппаратного квитирования (см. след. раздел) с помощью сигналов управления модемом CTS и DCD, а также два старших бита, определяющие число бит на символ. Остальные биты связаны с синхронными режимами, которые мы собираемся выключить соответствующим выбором D2-D3 в WR4. Таким образом, мы устанавливаем (D7, D6) = (1,1), D5 = 0 и D0 = 1, т. е. в WD3 мы посылаем шестнадцатеричный байт С1. С помощью WR4 мы задаем режим генератора x16 (минимальный делитель для асинхронных операций — УСАПП должен выполнять опрос сигнала каждого бита в его середине, поэтому частота входного генератора делается кратной частоте передачи), 1 стоп-бит на символ (используется всегда, за исключением устаревшего стандарта на телетайпную передачу со скоростью 110 бод), отсутствие контроля четности; получается шестнадцатеричный байт 44. Заметьте, что состояние битов D5-D4 не имеет значения, так как они управляют синхронной передачей; произвольно также состояние D1 (контроль четности или нечетности), если D0 (включение контроля) равен 0. Заметьте также, что установка 1 стоп-бита на символ (что имеет смысл только для асинхронного режима) автоматически выключает синхронный режим, а вместе с ним и все биты регистра управления, определяющие синхронные операции (например, D4-D1 в регистре WR3). Таким же образом можно управиться и с остальными управляющими регистрами. Это довольно скучная работа, в процессе которой легко допустить ошибки.

В табл. 11.7 приведены правильные, как мы надеемся, значения байтов (мы их тщательно проверили!).

Таблица 11.7. Инициализация последовательного порта 85301)

Регистр · Байт2) · Результат

________________________________ 

WR0 · (Указатель регистра) · Используется для доступа к WR1-WR15

WR1 · 00 · Запрет прерываний

WR2 · XX · Вектор прерываний (если разрешены)

WR3 · С1 · 8 бит, разрешение приема

WR4 · 44 · х15, 1 стоп-байт без контроля

WR5 · 68 · 8 бит, разрешение передачи

WR6 · XX · Символ синхронизации (только синхронный режим)

WR7 · XX · Символ синхронизации (только синхронный режим)

WR8 · (Буфер передачи) · Передаваемые данные (прямой доступ с D/C' = 1)

WR9 · СО · Сброс

WR10 · XX · Режимы синхронных операций

WR11 · 50 · Такты приема/передачи от генератора скорости пересылки

WR12 · 10210 · Делитель скорости пересылки - старший байт

WR13 · 00 · Делитель скорости пересылки - младший байт

WR14 · 03 · Разрешение генератора скорости пересылки

WR15 · XX · Режимы прерываний (если разрешены)

_____

1) Асинхронный режим, 1200 бод, 8 бит, без контроля четности.

2) XX-произвольное состояние; все числа шестнадцатеричные, кроме WR12. 

Обратите внимание на состояние XX (произвольное) для регистров, игнорируемых нами, в силу того, что мы не используем ни прерываний, ни синхронного режима. Регистр WR9 выполняет полный сброс микросхемы, который должен предшествовать любым другим командам. С помощью регистров WR12 и WR13 устанавливается 16-разрядное значение делителя частоты передачи, которое для микросхемы 8530 дается выражением частота передачи = fтакт/[2 (режим генератора) x (делитель + 2)]. Таким образом, при частоте генератора 4 МГц и режиме генератор x16 для скорости передачи 1200 бод получаем делитель 10210 (фактически скорость передачи составит 1201,92 бод, что весьма близко к заданному значению). При выбранной нами частоте генератора возможны все стандартные скорости передачи вплоть до 9600 бод (для этой скорости делитель должен быть равен 13).

Заметьте, что в вашем распоряжении все многочисленные режимы работы УСАПП, устанавливаемые соответствующими последовательностями инициализирующих управляющих байт. Микросхема 8530, как и все УСАПП, обеспечивает также синхронную коммуникацию в различных режимах со скоростями до 1 Мбит/с; это особенно полезно для пересылки данных между двумя процессорами. Для нашего прибора такой способ пересылки не имеет смысла в силу ограниченного объема оперативной памяти, однако он может оказаться полезным при подключении жесткого диска.

Обратите внимание на необходимость пересылки из ЦП в УСАПП правильной последовательности инициализирующих байт до того, как начнут передаваться какие-либо последовательные данные, как это было и в случае параллельного порта 8536; в нашем примере последовательный порт не использовался, так что мы опустили его инициализацию. Программа 11.4 дает понятие о процедуре инициализации. Сложность программы (включая декодирование таблиц с данными с целью определения управляющих байтов) — это цена, которую вы платите за исключительную гибкость БИС поддержки микропроцессора.

После того как с помощью управляющих регистров установлен режим работы УСАПП, можно передавать и принимать байты данных с помощью циклов ЦП записи и чтения при высоком уровне сигнала D/C'. С целью определения наличия нового, ожидающего приема в ЦП байта данных или возможности пересылки в УСАПП нового байта для его дальнейшей передачи следует опрашивать регистр состояния (при низком уровне D/C'), конкретно D0 в регистре RR0 в первом случае, и D2 в том же регистре во втором.

В дополнение к этому по другим битам регистра состояния можно судить о фиксации ошибки четности, потере принимаемых данных и т. д. Часто эти страшные удары судьбы можно игнорировать и смело идти вперед. В программе 11.5 приведены фрагменты пересылки данных при том же, что и раньше, отображении регистров на адресное пространство.

Учтите, что эти примеры, в которых используется программный ввод-вывод с проверкой состояния (см. разд. 10.06–10.08), иллюстрируют работу простейших программных драйверов. В них работа ЦП останавливается на время циклического опроса флага состояния. Использование механизма прерываний позволяет повысить эффективность работы ЦП; это особенно справедливо для операций ввода. Микросхема 8530 может возбуждать прерывания по любому указанному условию; от нее даже можно получить в качестве подтверждения выбранный вами 8-битовый вектор, если использовать линии подтверждения прерывания (IEI, IEO, INTACK). Все эти возможности реализуются с помощью управляющих байтов инициализации.

1 ... 16 17 18 19 20 21 22 23 24 ... 111
Перейти на страницу:
На этой странице вы можете бесплатно скачать Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц торрент бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Вася
Вася 24.11.2024 - 19:04
Прекрасное описание анального секса
Сергій
Сергій 25.01.2024 - 17:17
"Убийство миссис Спэнлоу" от Агаты Кристи – это великолепный детектив, который завораживает с первой страницы и держит в напряжении до последнего момента. Кристи, как всегда, мастерски строит